﻿using System;
using System.Collections;
using DATA.Base;
using DATA.BusinessObjects;
using DATA.ManagerObjects;
using NHibernate;
using System.Collections.Generic;

namespace BUS
{
    public class BaoCaoBUS
    {
        #region Bình - Lấy báo cáo doanh thu theo mã loại phòng và tháng cần báo cáo
        public static IList LayBaoCaoDoanhThuTheoMaLoaiPhong_Thang(String mlp, int thang)
        {
            IList list = null;

            try
            {
                ISession isession = NHibernateSessionManager.Instance.CreateISession();
                String hql = "select ptp, p, lp "
                             + "from Phieuthuephong ptp, Phong p, Loaiphong lp "
                             + "where ptp.Phong.Id = p.Id "
                             + "and p.Loaiphong.Id = lp.Id "
                             + "and Month(ptp.NgayTraPhong) = Month(ptp.NgayThuePhong) "
                             + "and lp.Id = '" + mlp + "' "
                             + "and Month(ptp.NgayThuePhong) = " + thang + " ";

                IQuery query = isession.CreateQuery(hql);                
                list = query.List();
            }
            catch (Exception ex)
            {                
                throw new Exception("Lỗi", ex);
            }

            return list;
        }
        #endregion

        #region Bình - Lấy báo cáo mật độ sử dụng phòng theo mã phòng và tháng cần báo cáo
        public static IList LayBaoCaoMatDoSuDungPhongTheoMaPhong_Thang(String mp, int thang)
        {
            IList list = null;

            try
            {
                ISession isession = NHibernateSessionManager.Instance.CreateISession();
                String hql = "select ptp, p "
                           + "from Phong p, Phieuthuephong ptp "
                           + "where p.Id = ptp.Phong.Id "
                             + "and Month(ptp.NgayThuePhong) = Month(ptp.NgayTraPhong) "
                             + "and p.Id = '" + mp + "' "
                             + "and Month(ptp.NgayThuePhong) = " + thang;

                IQuery query = isession.CreateQuery(hql);
                list = query.List();
            }
            catch (Exception ex)
            {
                throw new Exception("Lỗi", ex);
            }

            return list;
        }
        #endregion
    }
}
